双指针特定区间和.cpp
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll n,m;
cin>>n>>m;
vector<int> a(n);
for(ll i = 0;i<n;i++){
cin>>a[i];
}
ll cursum = 0;ll ans = 0;
ll l = 0;//双指针滑动窗口
for(ll r = 0;r<n;r++){
cursum += a[r];
while(cursum>m&&l<=r){
cursum-=a[l];
l++;
}
if(cursum==m){
ans++;
}
}
cout<<ans;
return 0;
}